<?php


namespace app\common\model;


use app\admin\model\ArticleTagModel;
use app\admin\model\CategoryModel;
use app\admin\model\TagModel;
use app\common\BaseModel;
use think\facade\Env;

class ArticleBaseModel extends BaseModel
{
    protected $table = "blog_admin_article";

    /**
     * 查询修改器(文章参考)
     * @param $value
     * @return array
     */
    public function getArticleConsultAttr($value)
    {
        $arr = json_decode($value);
        if (is_array($arr)) {
            $articleConsult = [];
            foreach ($arr as $item) {
                array_push($articleConsult, json_decode($item));
            }
            return $articleConsult;
        }
        return $value;
    }

//    /**
//     * 获取器
//     * @param $value
//     * @return string
//     */
//    public function getArticleImageAttr($value)
//    {
//        if(filter_var($value, FILTER_VALIDATE_URL)) {
//            return $value;
//        }
//        $imageBaseUrl = Env::get('qiniu.base_url');
//        return $imageBaseUrl.$value;
//    }

    /**
     * 多对多关联
     * @return \think\model\relation\BelongsToMany
     */
    public function articleTag()
    {
        return $this->belongsToMany(TagModel::class, ArticleTagModel::class,
            'tag_id', 'article_id');
    }

    /**
     * 关联Category表
     * @return \think\model\relation\HasOne
     */
    public function articleCategory()
    {
        return $this->hasOne(CategoryModel::class, 'id', 'article_category');
    }
}